Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delivery of the 2nd milestone (TPScore) #1013

Merged
merged 1 commit into from
Oct 6, 2023

Conversation

its-a-setup
Copy link
Contributor

Milestone Delivery Checklist

  • The milestone-delivery-template.md has been copied and updated.
  • This pull request is being made by the same account as the accepted application.
  • I have disclosed any and all sources of reused code in the submitted repositories and have done my due diligence to meet its license requirements.
  • In case of acceptance, an invoice must be submitted and the payment will be transferred to the BTC/ETH/fiat account provided in the application.
  • The delivery is according to the Guidelines for Milestone Deliverables.

Link to the application pull request: 1837

@keeganquigley keeganquigley self-assigned this Sep 26, 2023
@keeganquigley
Copy link
Contributor

Thanks for the delivery @its-a-setup and sorry for the delay. You can find my evaluation here.I just have two questions about the stats.

  • What exactly do these tx/s stats mean? Many of them say 0.0 tx/s, which doesn't really provide any helpful information. I'm wondering if the data format should be changed.
  • How often will these feeds be updated? I see the latest feeds on the published site were last updated on August 9th.

@its-a-setup
Copy link
Contributor Author

Hi @keeganquigley
Thanks for the evaluation! Happy to see that it works

Below are the answers:

  1. tx/s is the number of transactions per second (TPS). We calculate the average TPS based on the last 100 blocks and include only extrinsics of type "Balances". 0.0 tx/s is displayed for some of the parachains due to low on-chain activity happening there. This is also not ideal from our end, so we are thinking about including transactions of different types in the calculation in the next release.
  2. The data is updated every 10mins based on the last 100 blocks. We planned to turn it on after the official announcement together with Web3 Foundation, but I just turned it on, so you could check that it works :)

@keeganquigley
Copy link
Contributor

Thanks @its-a-setup for the explanation and for updating the feeds. I'm still curious about how benchmarking was performed for these results. I know TPS metrics are subjective, but as this wiki article notes, Polkadot and substrate-based chains should be able to achieve somewhere over 1000 tx/s for simple balance transfers. I know that some parachains might not have much activity, but the Polkadot relay chain itself has a lot of activity. So I would think at least this metric would be higher.

Are these benchmarks accounting for the different block times of each chain? What about latency? I agree it might help to include other extrinsics than just transfers, especially for chains that don't have a lot of transfers happening. Any further explanation you can give regarding the results and how you got them would be great. Thanks!

@its-a-setup
Copy link
Contributor Author

Sure, let's dive deeper into that!
This wiki article relies on technical max throughput, although the situation on-chain may be different, due to lower utilization and a smaller number of users. This is not only the case for Polkadot though, most of the other L1s have the same thing. E.g. Solana theoretically can handle 710,000 transactions per second, but in reality, it handles just ~230 transactions per second. I would say the fact that on-chain activity for Polkadot Relay Chain and parachains is much smaller than theoretical throughput is rather the norm, which is also observed on other chains.

As for the Relay Chain specifically, we can do a quick check and take a look at the last 20 blocks (e.g. 17598627 - 17598646) and we will see that at max blocks have 2 transactions of type "Balances" (e.g. in block 17598637). In total these 20 blocks have 6 transactions of type "Balances", considering that the time between blocks is 114 seconds, it will mean that TPS is 0.05, which is perfectly in line with calculations based on 100 blocks.

Are these benchmarks accounting for the different block times of each chain?

Irrespective of block time, we still take 100 blocks for any chain

What about latency?

We don't consider it at the moment

@keeganquigley
Copy link
Contributor

Thanks for the clarifications @its-a-setup much appreciated. I still recommend perhaps displaying more decimal places or something like that, but I'm happy to go ahead pass the milestone. Nice work! Please allow for up to 14 days for processing.

@keeganquigley keeganquigley merged commit ab6901c into w3f:master Oct 6, 2023
6 checks passed
@github-actions

This comment has been minimized.

@github-actions
Copy link

github-actions bot commented Oct 6, 2023

We noticed that this is the last milestone of your project. Congratulations on completing your grant! 🎊

So, where to from here? First of all, you should join our Grants Community chat, if you haven't already, so we can stay in touch.
If you are looking for continuative support for your project, there are quite a few options. The main goal of the W3F grants program is to support research as well as early-stage technical projects. If your project still falls under one of those categories, you might want to apply for a follow-up grant. However, depending on your goals and project status, there are other support programs in our ecosystem that might be better suited as the next step. For example, projects with a Business Case/Token should look into the Substrate Builders Program or VC Funding and Common Good projects have a good chance of receiving Treasury Funding. If you are looking for guidance, the team at https://substrate.io/ecosystem/square-one/ has compiled a list of ecosystem support sources and are happy to help you navigate it.

For a more comprehensive list, see our Alternative Funding page. Let us know if you have any questions regarding the above. We are more than happy to point you to additional resources and help you determine the best course of action.
Lastly, we hope your W3F grant was a success and we want to thank you for being part of the journey!

@its-a-setup
Copy link
Contributor Author

@keeganquigley thank you!
This is amazing news and a huge milestone for us!

As for the 0 TPS values for some of the chains, it will be one of our core focuses moving forward. It's also super important to make TPS calculation consistent between parachains and blockchain networks outside of the Polkadot ecosystem so that dApp builders could get a better insight on which parachain they should build. We will try to make an improvement on that in the 2nd version of our app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants